图8-109 摘自Design Patterns: Elements of Reusable Object-Oriented Software, GammaE , et al. , 1995 根据GoF《设计模式》书中内容猜测,其中用词和UML以及本书的用词的对应关系可能如图8-110。左右对应为:①继承=泛化;②组合≈关联;③认识≈普通关联;④聚合≈聚合+组合。
图8-110 《设计模式》话语和UML话语中的对应以上仅属推测,而且书中的叙述也是有矛盾的,例如这一句:Consider the distinction between object aggregation and acquaintance andhow differently they manifest themselves at compile- and run-times.考虑对象聚合和认识之间的区别,以及它们在编译时和运行时如何不同地展现自己。这句话好像是在说“聚合”和“认识”在编译时和运行时有所不同,这和图8-110中的对应③和④矛盾。另外,图8-109的片段中,把association(关联)和using(使用)说成同一个意思,这个也是让人困惑的。using听起来更像是UML话语中的“依赖”。未咨询作者,网络搜索也没有查到有价值的信息,如果有读者对此有更深入的了解,请不吝指正。